/**
 开发团队 :
 开发人员 : ZBB295
 开发时间 : 2022/8/15 16:51
 文件名称 : user-modify.js
 开发工具 : WebStorm
 */

//引入用户构造函数模块
const {User} = require('../../model/user')
//导入密码模块
const bcryptjs = require('bcryptjs')
//实现用户修改功能路由处理函数
const userModify_hander = async (req,res,next)=>{

    //接收用户传过来的请求参数
    const {username,email,role,state,password} =req.body;
    //因为用户要修改的id是通过地址栏方式传递
    const id = req.query.id;
    //根据用户id查询用户密码
    let user = await User.findOne({_id:id});
    //密码比对
    const compareResult = bcryptjs.compareSync(password, user.password);
    if (compareResult){
        //密码比对成功
        await User.updateOne({_id:id},{username:username,
                                             email:email,
                                             role:role,
                                             state:state});
        //将页面重定向用户列表页面
        res.redirect('/admin/user');

    }else {
        //密码比对失败
        let obj = {path:'/admin/user-edit',message:'密码比对失败不能进用户修改',id:id}
        next(JSON.stringify(obj));
    }

}

module.exports = userModify_hander;